﻿<?xml version="1.0" encoding="utf-8" ?>

<platform xmlns="http://metalx.org/Platform" namespace="http://metalx.org/Mos/65816/Operators">
	<processor>
		<operation name="AddDirectAddressPlusXIndexPointerToAccumulator" value="61"/>
		<operation name="AddStackRelativeAddressToAccumulator" value="63"/>
		<operation name="AddDirectAddressToAccumulator" value="65"/>
		<operation name="AddDirectAddressLongPointerToAccumulator" value="67"/>
		<operation name="AddImmediateToAccumulator" value="69"/>
		<operation name="AddAbsoluteAddressToAccumulator" value="6D"/>
		<operation name="AddAbsoluteLongAddressToAccumulator" value="6F"/>
		<operation name="AddDirectAddressPointerPlusYIndexToAccumulator" value="71"/>
		<operation name="AddDirectAddressPointerToAccumulator" value="72"/>
		<operation name="AddStackRelativePointerPlusYIndexToAccumulator" value="73"/>
		<operation name="AddDirectAddressPlusXIndexToAccumulator" value="75"/>
		<operation name="AddDirectAddressLongPointerPlusYIndexToAccumulator" value="77"/>
		<operation name="AddAbsoluteAddressPlusYIndexToAccumulator" value="79"/>
		<operation name="AddAbsoluteAddressPlusXIndexToAccumulator" value="7D"/>
		<operation name="AddAbsoluteLongAddressPlusXIndexToAccumulator" value="7F"/>
		<operation name="AndAccumulatorWithDirectAddressPlusXIndexPointer" value="21"/>
		<operation name="AndAccumulatorWithStackRelativeAddress" value="23"/>
		<operation name="AndAccumulatorWithDirectAddress" value="25"/>
		<operation name="AndAccumulatorWithDirectAddressLongPointer" value="27"/>
		<operation name="AndAccumulatorWithImmediate" value="29"/>
		<operation name="AndAccumulatorWithAbsoluteAddress" value="2D"/>
		<operation name="AndAccumulatorWithAbsoluteLongAddress" value="2F"/>
		<operation name="AndAccumulatorWithDirectAddressPointerPlusYIndex" value="31"/>
		<operation name="AndAccumulatorWithDirectAddressPointer" value="32"/>
		<operation name="AndAccumulatorWithStackRelativePointerPlusYIndex" value="33"/>
		<operation name="AndAccumulatorWithDirectAddressPlusXIndex" value="35"/>
		<operation name="AndAccumulatorWithDirectAddressLongPointerPlusYIndex" value="37"/>
		<operation name="AndAccumulatorWithAbsoluteAddressPlusYIndex" value="39"/>
		<operation name="AndAccumulatorWithAbsoluteAddressPlusXIndex" value="3D"/>
		<operation name="AndAccumulatorWithAbsoluteLongAddressPlusXIndex" value="3F"/>
		<operation name="ShiftDirectAddressLeft" value="06"/>
		<operation name="ShiftAccumulatorLeft" value="0A"/>
		<operation name="ShiftAbsoluteAddressLeft" value="0E"/>
		<operation name="ShiftDirectAddressPlusXIndexLeft" value="16"/>
		<operation name="ShiftAbsoluteAddressPlusXIndexLeft" value="1E"/>
		<operation name="BranchToRelativeIfLessThan" value="90"/>
		<operation name="BranchToRelativeIfGreaterOrEqual" value="B0"/>
		<operation name="BranchToRelativeIfEqual" value="F0"/>
		<operation name="TestDirectAddress" value="24"/>
		<operation name="TestAbsoluteAddress" value="2C"/>
		<operation name="TestDirectAddressPlusXIndex" value="34"/>
		<operation name="TestAbsoluteAddressPlusXIndex" value="3C"/>
		<operation name="TestImmediate" value="89"/>
		<operation name="BranchToRelativeIfNegative" value="30"/>
		<operation name="BranchToRelativeIfNotEqual" value="D0"/>
		<operation name="BranchToRelativeIfPositive" value="10"/>
		<operation name="JumpToRelative" value="80"/>
		<operation name="Break" value="00"/>
		<operation name="JumpToRelativeLong" value="82"/>
		<operation name="BranchToRelativeIfNotOverflow" value="50"/>
		<operation name="BranchToRelativeIfOverflow" value="70"/>
		<operation name="ClearCarryFlag" value="18"/>
		<operation name="ClearDecimalFlag" value="D8"/>
		<operation name="ClearInterruptDisableFlag" value="58"/>
		<operation name="CleareOverflowFlag" value="B8"/>
		<operation name="CompareAccumulatorToDirectAddressPlusXIndexPointer" value="C1"/>
		<operation name="CompareAccumulatorToStackRelativeAddress" value="C3"/>
		<operation name="CompareAccumulatorToDirectAddress" value="C5"/>
		<operation name="CompareAccumulatorToDirectAddressLongPointer" value="C7"/>
		<operation name="CompareAccumulatorToImmediate" value="C9"/>
		<operation name="CompareAccumulatorToAbsoluteAddress" value="CD"/>
		<operation name="CompareAccumulatorToAbsoluteLongAddress" value="CF"/>
		<operation name="CompareAccumulatorToDirectAddressPointerPlusYIndex" value="D1"/>
		<operation name="CompareAccumulatorToDirectAddressPointer" value="D2"/>
		<operation name="CompareAccumulatorToStackRelativePointerPlusYIndex" value="D3"/>
		<operation name="CompareAccumulatorToDirectAddressPlusXIndex" value="D5"/>
		<operation name="CompareAccumulatorToDirectAddressLongPointerPlusYIndex" value="D7"/>
		<operation name="CompareAccumulatorToAbsoluteAddressPlusYIndex" value="D9"/>
		<operation name="CompareAccumulatorToAbsoluteAddressPlusXIndex" value="DD"/>
		<operation name="CompareAccumulatorToAbsoluteLongAddressPlusXIndex" value="DF"/>
		<operation name="EnableCoprocessor" value="02"/>
		<operation name="CompareIndexXToImmediate " value="E0"/>
		<operation name="CompareIndexXToDirectAddress" value="E4"/>
		<operation name="CompareIndexXToAbsoluteAddress" value="EC"/>
		<operation name="CompareIndexYToImmediate" value="C0"/>
		<operation name="CompareIndexYToDirectAddress" value="C4"/>
		<operation name="CompareIndexYToAbsoluteAddress" value="CC"/>
		<operation name="DecrementAccumulator" value="3A"/>
		<operation name="DecrementDirectAddress" value="C6"/>
		<operation name="DecrementAbsoluteAddress" value="CE"/>
		<operation name="DecrementDirectAddressPlusXIndex" value="D6"/>
		<operation name="DecrementAbsoluteAddressPlusXIndex" value="DE"/>
		<operation name="DecrementXIndex" value="CA"/>
		<operation name="DecrementYIndex" value="88"/>
		<operation name="ExclusiveOrAccumulatorWithDirectAddressPlusXIndexPointer" value="41"/>
		<operation name="ExclusiveOrAccumulatorWithStackRelativeAddress" value="43"/>
		<operation name="ExclusiveOrAccumulatorWithDirectAddress" value="45"/>
		<operation name="ExclusiveOrAccumulatorWithDirectAddressLongPointer" value="47"/>
		<operation name="ExclusiveOrAccumulatorWithImmediate" value="49"/>
		<operation name="ExclusiveOrAccumulatorWithAbsoluteAddress" value="4D"/>
		<operation name="ExclusiveOrAccumulatorWithAbsoluteLongAddress" value="4F"/>
		<operation name="ExclusiveOrAccumulatorWithDirectAddressPointerPlusYIndex" value="51"/>
		<operation name="ExclusiveOrAccumulatorWithDirectAddressPointer" value="52"/>
		<operation name="ExclusiveOrAccumulatorWithStackRelativePointerPlusYIndex" value="53"/>
		<operation name="ExclusiveOrAccumulatorWithDirectAddressPlusXIndex" value="55"/>
		<operation name="ExclusiveOrAccumulatorWithDirectAddressLongPointerPlusYIndex" value="57"/>
		<operation name="ExclusiveOrAccumulatorWithAbsoluteAddressPlusYIndex" value="59"/>
		<operation name="ExclusiveOrAccumulatorWithAbsoluteAddressPlusXIndex" value="5D"/>
		<operation name="ExclusiveOrAccumulatorWithAbsoluteLongAddressPlusXIndex" value="5F"/>
		<operation name="IncrementAccumulator" value="1A"/>
		<operation name="IncrementDirectAddress" value="E6"/>
		<operation name="IncrementAbsoluteAddress" value="EE"/>
		<operation name="IncrementDirectAddressPlusXIndex" value="F6"/>
		<operation name="IncrementAbsoluteAddressPlusXIndex" value="FE"/>
		<operation name="IncrementXIndex" value="E8"/>
		<operation name="IncrementYIndex" value="C8"/>
		<operation name="JumpToAbsoluteAddress" value="4C"/>
		<operation name="JumpToAbsoluteLongAddress" value="5C"/>
		<operation name="JumpToAbsoluteAddressPointer" value="6C"/>
		<operation name="JumpToAbsoluteAddressPlusXIndexPointer" value="7C"/>
		<operation name="JumpToAbsoluteLongAddressPointer" value="DC"/>
		<operation name="CallAbsoluteAddress" value="20"/>
		<operation name="CallAbsoluteLongAddress" value="22"/>
		<operation name="CallAbsoluteAddressPlusXIndex" value="FC"/>
		<operation name="CopyDirectAddressPlusXIndexPointerToAccumulator" value="A1"/>
		<operation name="CopyStackRelativeAddressToAccumulator" value="A3"/>
		<operation name="CopyDirectAddressToAccumulator" value="A5"/>
		<operation name="CopyDirectAddressLongPointerToAccumulator" value="A7"/>
		<operation name="CopyImmediateToAccumulator" value="A9"/>
		<operation name="CopyAbsoluteAddressToAccumulator" value="AD"/>
		<operation name="CopyAbsoluteLongAddressToAccumulator" value="AF"/>
		<operation name="CopyDirectAddressPointerPlusYIndexToAccumulator" value="B1"/>
		<operation name="CopyDirectAddressPointerToAccumulator" value="B2"/>
		<operation name="CopyStackRelativePointerPlusYIndexToAccumulator" value="B3"/>
		<operation name="CopyDirectAddressPlusXIndexToAccumulator" value="B5"/>
		<operation name="CopyDirectAddressLongPointerPlusYIndexToAccumulator" value="B7"/>
		<operation name="CopyAbsoluteAddressPlusYIndexToAccumulator" value="B9"/>
		<operation name="CopyAbsoluteAddressPlusXIndexToAccumulator" value="BD"/>
		<operation name="CopyAbsoluteLongAddressPlusXIndexToAccumulator" value="BF"/>
		<operation name="CopyImmediateToXIndex" value="A2"/>
		<operation name="CopyDirectAddressToXIndex" value="A6"/>
		<operation name="CopyAbsoluteAddressToXIndex" value="AE"/>
		<operation name="CopyDirectAddresPlusYIndexToXIndex" value="B6"/>
		<operation name="CopyAbsoluteAddressPlusYIndexToXIndex" value="BE"/>
		<operation name="CopyImmediateToYIndex" value="A0"/>
		<operation name="CopyDirectAddressToYIndex" value="A4"/>
		<operation name="CopyAbsoluteAddressToYIndex" value="AC"/>
		<operation name="CopyDirectAddressPlusXIndexToYIndex" value="B4"/>
		<operation name="CopyAbsoluteAddressPlusXIndexToYIndex" value="BC"/>
		<operation name="ShiftDirectAddressRight" value="46"/>
		<operation name="ShiftAccumulatorRight" value="4A"/>
		<operation name="ShiftAbsoluteAddressRight" value="4E"/>
		<operation name="ShiftDirectAddressPlusXIndexRight" value="56"/>
		<operation name="ShiftAbsoluteAddressPlusXIndexRight" value="5E"/>
		<operation name="CopyBytesFromImmeidateBlockPlusXIndexToImmediateBlockPlusYIndexReverse" value="54"/>
		<operation name="CopyBytesFromImmeidateBlockPlusXIndexToImmediateBlockPlusYIndex" value="44"/>
		<operation name="NoOperation" value="EA"/>
		<operation name="OrAccumulatorWithDirectAddressPlusXIndexPointer" value="01"/>
		<operation name="OrAccumulatorWithStackRelativeAddress" value="03"/>
		<operation name="OrAccumulatorWithDirectAddress" value="05"/>
		<operation name="OrAccumulatorWithDirectAddressLongPointer" value="07"/>
		<operation name="OrAccumulatorWithImmediate" value="09"/>
		<operation name="OrAccumulatorWithAbsoluteAddress" value="0D"/>
		<operation name="OrAccumulatorWithAbsoluteLongAddress" value="0F"/>
		<operation name="OrAccumulatorWithDirectAddressPointerPlusYIndex" value="11"/>
		<operation name="OrAccumulatorWithDirectAddressPointer" value="12"/>
		<operation name="OrAccumulatorWithStackRelativePointerPlusYIndex" value="13"/>
		<operation name="OrAccumulatorWithDirectAddressPlusXIndex" value="15"/>
		<operation name="OrAccumulatorWithDirectAddressLongPointerPlusYIndex" value="17"/>
		<operation name="OrAccumulatorWithAbsoluteAddressPlusYIndex" value="19"/>
		<operation name="OrAccumulatorWithAbsoluteAddressPlusXIndex" value="1D"/>
		<operation name="OrAccumulatorWithAbsoluteLongAddressPlusXIndex" value="1F"/>
		<operation name="PushImmediate" value="F4"/>
		<operation name="PushPointer" value="D4"/>
		<operation name="PushRelativeLongPointer" value="62"/>
		<operation name="PushAccumulator" value="48"/>
		<operation name="PushDataBank" value="8B"/>
		<operation name="PushDirectPage" value="0B"/>
		<operation name="PushProgramBank" value="4B"/>
		<operation name="PushFlags" value="08"/>
		<operation name="PushXIndex" value="DA"/>
		<operation name="PushYIndex" value="5A"/>
		<operation name="PullAccumulator" value="68"/>
		<operation name="PullDataBank" value="AB"/>
		<operation name="PullDirectPage" value="2B"/>
		<operation name="PullFlags" value="28"/>
		<operation name="PullXIndex" value="FA"/>
		<operation name="PullYIndex" value="7A"/>
		<operation name="ClearImmediateFlags" value="C2"/>
		<operation name="RotateDirectAddressLeft" value="26"/>
		<operation name="RotateAccumulatorLeft" value="2A"/>
		<operation name="RotateAbsoluteAddressLeft" value="2E"/>
		<operation name="RotateDirectAddressPlusXIndexLeft" value="36"/>
		<operation name="RotateAbsoluteAddressPlusXIndexLeft" value="3E"/>
		<operation name="RotateDirectAddressRight" value="66"/>
		<operation name="RotateAccumulatorRight" value="6A"/>
		<operation name="RotateAbsoluteAddressRight" value="6E"/>
		<operation name="RotateDirectAddressPlusXIndexRight" value="76"/>
		<operation name="RotateAbsoluteAddressPlusXIndexRight" value="7E"/>
		<operation name="ReturnFromInterrupt" value="40"/>
		<operation name="ReturnToLongCaller" value="6B"/>
		<operation name="ReturnToCaller" value="60"/>
		<operation name="SubtractDirectSubtractressPlusXIndexPointerFromAccumulator" value="E1"/>
		<operation name="SubtractStackRelativeSubtractressFromAccumulator" value="E3"/>
		<operation name="SubtractDirectSubtractressFromAccumulator" value="E5"/>
		<operation name="SubtractDirectSubtractressLongPointerFromAccumulator" value="E7"/>
		<operation name="SubtractImmediateFromAccumulator" value="E9"/>
		<operation name="SubtractAbsoluteSubtractressFromAccumulator" value="ED"/>
		<operation name="SubtractAbsoluteLongSubtractressFromAccumulator" value="EF"/>
		<operation name="SubtractDirectSubtractressPointerPlusYIndexFromAccumulator" value="F1"/>
		<operation name="SubtractDirectSubtractressPointerFromAccumulator" value="F2"/>
		<operation name="SubtractStackRelativePointerPlusYIndexFromAccumulator" value="F3"/>
		<operation name="SubtractDirectSubtractressPlusXIndexFromAccumulator" value="F5"/>
		<operation name="SubtractDirectSubtractressLongPointerPlusYIndexFromAccumulator" value="F7"/>
		<operation name="SubtractAbsoluteSubtractressPlusYIndexFromAccumulator" value="F9"/>
		<operation name="SubtractAbsoluteSubtractressPlusXIndexFromAccumulator" value="FD"/>
		<operation name="SubtractAbsoluteLongSubtractressPlusXIndexFromAccumulator" value="FF"/>
		<operation name="SetCarryFlag" value="38"/>
		<operation name="SetDecimalFlag" value="F8"/>
		<operation name="SetInterruptDisableFlag" value="78"/>
		<operation name="SetImmediateFlags" value="E2"/>
		<operation name="CopyAccumulatorToDirectAddressPlusXIndexPointer" value="81"/>
		<operation name="CopyAccumulatorToStackRelativeAddress" value="83"/>
		<operation name="CopyAccumulatorToDirectAddress" value="85"/>
		<operation name="CopyAccumulatorToDirectAddressLongPointer" value="87"/>
		<operation name="CopyAccumulatorToAbsoluteAddress" value="8D"/>
		<operation name="CopyAccumulatorToAbsoluteLongAddress" value="8F"/>
		<operation name="CopyAccumulatorToDirectAddressPointerPlusYIndex" value="91"/>
		<operation name="CopyAccumulatorToDirectAddressPointer" value="92"/>
		<operation name="CopyAccumulatorToStackRelativePointerPlusYIndex" value="93"/>
		<operation name="CopyAccumulatorToDirectAddressPlusXIndex" value="95"/>
		<operation name="CopyAccumulatorToDirectAddressLongPointerPlusYIndex" value="97"/>
		<operation name="CopyAccumulatorToAbsoluteAddressPlusYIndex" value="99"/>
		<operation name="CopyAccumulatorToAbsoluteAddressPlusXIndex" value="9D"/>
		<operation name="CopyAccumulatorToAbsoluteLongAddressPlusXIndex" value="9F"/>
		<operation name="StopProcessor" value="DB"/>
		<operation name="CopyXIndexToDirectAddress" value="86"/>
		<operation name="CopyXIndexToAbsoluteAddress" value="8E"/>
		<operation name="CopyXIndexToDirectAddressPlusYIndex" value="96"/>
		<operation name="CopyYIndexToDirectAddress" value="84"/>
		<operation name="CopyYIndexToAbsoluteAddress" value="8C"/>
		<operation name="CopyYIndexToDirectAddressPlusXIndex" value="94"/>
		<operation name="SetDirectAddressToZero" value="64"/>
		<operation name="SetDirectAddressPlusXIndexToZero" value="74"/>
		<operation name="SetAbsoluteAddressToZero" value="9C"/>
		<operation name="SetAbsoluteAddressPlusXIndexToZero" value="9E"/>
		<operation name="CopyAccumulatorToXIndex" value="AA"/>
		<operation name="CopyAccumulatorToYIndex" value="A8"/>
		<operation name="CopyAccumulatorToDirectPage" value="5B"/>
		<operation name="CopyAccumulatorToStackPointer" value="1B"/>
		<operation name="CopyDirectPageToAccumulator" value="7B"/>
		<operation name="CompareAccumulatorToDirectAddressAndClearBits" value="14"/>
		<operation name="CompareAccumulatorToAbsoluteAddressAndClearBits" value="1C"/>
		<operation name="CompareAccumulatorToDirectAddressAndSetBits" value="04"/>
		<operation name="CompareAccumulatorToAbsoluteAddressAndSetBits" value="0C"/>
		<operation name="CopyStackPointerToAccumulator" value="3B"/>
		<operation name="CopyStackPointerToXIndex" value="BA"/>
		<operation name="CopyXIndexToAccumulator" value="8A"/>
		<operation name="CopyXIndexToStackPointer" value="9A"/>
		<operation name="CopyXIndexToYIndex" value="9B"/>
		<operation name="CopyYIndexToAccumulator" value="98"/>
		<operation name="CopyYIndexToXIndex" value="BB"/>
		<operation name="WaitForInterrupt" value="CB"/>
		<operation name="ExtendedOperation" value="42"/>
		<operation name="ExchangeAccumulators" value="EB"/>
		<operation name="ExchangeCarryFlagWithEmulationFlag" value="FB"/>
	</processor>
</platform>